#include "shape_pro.h"
#include "text_frame.h"

//TransForm2D
TransForm2D::TransForm2D()
{
    m_x_ = m_y_ = 0;
    m_cx_ = m_cy_ = 0;
}

TransForm2D::TransForm2D(const TransForm2D& trans2d)
{
      this->m_cx_ = trans2d.m_cx_;
      this->m_cy_ = trans2d.m_cy_;
      this->m_x_ = trans2d.m_x_;
      this->m_y_ = trans2d.m_y_;
}

int TransForm2D::GetX() const
{
    return m_x_;
}

void TransForm2D::SetX(int x)
{
    m_x_ = x;
}

int TransForm2D::GetY() const
{
    return m_y_;
}

void TransForm2D::SetY(int y)
{
    m_y_ = y;
}

int TransForm2D::GetCX() const
{
    return m_cx_;
}

void TransForm2D::SetCX(int cx)
{
    m_cx_ = cx;
}

int TransForm2D::GetCY() const
{
    return m_cy_;
}

void TransForm2D::SetCY(int cy)
{
    m_cy_ = cy;
}

//PrstGeometry2D
PrstGeometry2D::PrstGeometry2D()
{
}

PrstGeometry2D::PrstGeometry2D(const PrstGeometry2D& prst2d)
{
    this->m_prst_ = prst2d.m_prst_;
    this->gd_name = prst2d.gd_name;
    this->gd_fmla = prst2d.gd_fmla;
}

string PrstGeometry2D::GetPrstGeometry2D()
{
    return m_prst_;
}

void PrstGeometry2D::SetPrstGeometry2D(string prst)
{
    m_prst_ = prst;
}

string PrstGeometry2D::GetPrstGeometry2D_prst()
{
    return m_prst_;
}

void PrstGeometry2D::SetPrstGeometry2D_prst(string prst)
{
    m_prst_ = prst;
}

string PrstGeometry2D::GetPrstGeometry2D_name()
{
    return gd_name;
}

void PrstGeometry2D::SetPrstGeometry2D_name(string name)
{
    gd_name = name;
}

string PrstGeometry2D::GetPrstGeometry2D_fmla()
{
    return gd_fmla;
}

void PrstGeometry2D::SetPrstGeometry2D_fmla(string fmla)
{
    gd_fmla = fmla;
}

//SolidFill
SolidFill::SolidFill()
{
}

SolidFill::SolidFill(const SolidFill& fill)
{
    this->m_val_ = fill.m_val_;
}

string SolidFill::GetFill()
{
    return m_val_;
}

void SolidFill::SetFill(string val)
{
    m_val_ = val;
}

//LineType
LineType::LineType()
{
    m_linetype_ = "";
}

LineType::LineType(const LineType& linetype)
{
    this->m_linetype_ = linetype.m_linetype_;
}

string LineType::GetLineType()
{
    return m_linetype_;
}

void LineType::SetLineType(string linetype)
{
    m_linetype_ = linetype;
}

//ShapePro
TransForm2D ShapePro::GetTrans2d() const
{
    return m_trans_2d_;
}
void ShapePro::SetTrans2d(TransForm2D trans2d)
{
    m_trans_2d_ = trans2d;
}
PrstGeometry2D ShapePro::GetPrst2d() const
{
    return m_prst_2d_;
}
void ShapePro::SetPrst2d(PrstGeometry2D prst2d)
{
    m_prst_2d_ = prst2d;

}
SolidFill ShapePro::GetFill() const
{
    return m_solid_fill_;
}
void ShapePro::SetFill(SolidFill fill)
{
    m_solid_fill_ = fill;
}
LineType ShapePro::GetLine() const
{
    return m_line_type_;
}
void ShapePro::SetLine(LineType line)
{
    m_line_type_ = line;
}
